<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Promise链</title>
  </head>
  <body>
    <script>
      // 创建一个函数 `loadData`，接受一个数据类型作为参数。
      // 该函数应该创建并返回一个Promise对象，模拟从数据库获取用户数据的异步操作。
      // Promise应该在1秒后解决（resolve）并返回一个包含数据的对象。
      // 或者在1秒后拒绝（reject)并返回一个错误消息。
          function loadData(dataType){
            return new Promise((resolve,reject)=>{
              setTimeout(() => {
                const data=Math.random();
                if(data>0.33){
                  resolve(data);
                }else{
                  reject('数据类型',{dataType}+'加载失败');
                }
              }, 1000);
            })
          }
      // 调用loadData，使用Promise链的形式加载数据类型typeA成功之后，再加载数据类型typeB。
      // 如果过程中有加载错误的情况，打印错误信息。
      // [代码]
      loadData("typeA")
      .then((data)=>{
        console.log('加载的typeA数据',data);
        return loadData("typeB");
      })
      .then((data)=>{
        console.log('加载的typeB数据',data);
      })
      .catch((err)=>{
        console.error(err);
      })
    </script>
  </body>
</html>
